package com.zatech.cgnci.project.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zatech.cgnci.project.dto.CgnciApprovalConfigQueryDTO;
import com.zatech.cgnci.project.entity.CgnciApprovalConfigDO;
import com.zatech.cgnci.project.vo.CgnciApprovalConfigNodeVO;
import com.zatech.cgnci.project.vo.CgnciApprovalConfigPageVO;
import com.zatech.cgnci.project.vo.CgnciApprovalConfigVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 审批流程节点规则配置表 Mapper 接口
 * </p>
 *
 * @author Generator
 * @since 2024-12-17
 */
@Mapper
public interface CgnciApprovalConfigMapper extends BaseMapper<CgnciApprovalConfigDO> {

    CgnciApprovalConfigDO selectByGroupIdAndNode(@Param("approvalConfigGroupId") String approvalConfigGroupId, @Param("currentNode") int currentNode);

    List<CgnciApprovalConfigVO> listTaskType();

    List<String> listTaskTypeCode(@Param("taskTypeCode") String taskTypeCode);

    IPage<CgnciApprovalConfigPageVO> pageApprovalConfig(@Param("page") Page page, @Param("dto") CgnciApprovalConfigQueryDTO queryDTO);

    List<CgnciApprovalConfigNodeVO> listApprovalNode(@Param("taskType") String taskType);
}
